0x01 前言
渗透测试中经常遇到需要对APP进⾏测试的情况,我们通常有两个选择,第⼀个就是⽤实体测试机,第 ⼆个就是⽤安卓模拟器。
对于测试机⽽⾔,不是很便捷,很少有⼈时时刻刻带个备⽤测试机。
对于模拟器⽽⾔,这个就更难受了,主要有以下⼏个痛点:
1. 卡的⼀批,公司发的⼩电脑本就很卡了,要是再开个模拟器指定完蛋
2. 很多应⽤都检测模拟器,会直接闪退 VMOS Pro虚拟机⾃带可开关的root和xposed,兼容性也很好,基本上应⽤都能打开(之前很多⼈恰叽 亡者都⽤这个开科技),解决了模拟器吃电脑资源的问题,也解决了携带⽅便的问题——⽤⾃⼰平常使 ⽤的安卓⼿机就可以操作!
0x02 准备的东西
1. ⼀台能开burp或者yakit的电脑
2. ⼀台⾃⼰平时⽤的安卓⼿机,⽆需root、⽆需框架、⽆需开发版系统
3. VMOS Pro
4. 手
0x03 开始操作
⾸先我们下载⼀个VMOS Pro,各⼤应⽤商店都可以下载,官⽹https://www.vmos.cn/ 打开VMOS Pro上创建⼀个虚拟机,本次演示我选择安卓9.0系统(酷安社区有⼤佬⾃制的rom,安卓 10、⾯具等等⾃⾏前往酷安社区vmos话题寻找,如果⾃⼰的安卓⼿机⾼于安卓12版本,需要使⽤vmos助 ⼿激活⼀下,vmos pro中有教程,这⾥就不赘述):![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWbb68icvI1avgSOcb0CnsVQq7a79G6J33jv2ib5eTuW9R4EqRBltW01gA/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1) 开机,先去开启root(其实应该在开机之前直接从设置⾥开)![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWd8qBnwyl9Wia3nrHXT1lLYwU4aZVsllr3JcbZWMPwrJQUUx8kricMQaA/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1) 重启后去下载⼀个MT管理器,⽤来移动证书:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUW5XtFnSIZGtsGcMNGY8iaAckek1QeOaksJgFJaXJcPfUHH8jrwkuXTsg/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWrNfdILDc2EP0RRicedesxpoV2DIqyJgqcia3LIuYTV4Oz0mknj3fxyNw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
打开MT管理器,更新⼀下(不更新可能⽆法往system分区写⼊⽂件)并给root权限。接下来去制作证 书, yakit⽣成⼀个pem后缀的证书(burp⽣成der格式证书需要执⾏ openssl x509 -inform DER -in cacert.der -out cacert.pem 转换⼀下)
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWW2KrEEwVxjzRaEpxTg4lglhzqTVwonugiatouNF0fEF7KVicWc6OC0sg/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
计算证书md5值:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUW1FMqhrDPXECX053NC1z70Xrjia9TxnH1aWQzz2zjQhtwIP842MFNjMQ/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
将证书名字修改为10fb1fcc.0
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWrkCnEjsml5S7AtYnDbYsOT4MXLk3q7jIaAqZvbR3miaG7boEAvgFmdw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
确保⼿机和电脑在同⼀个局域⽹内(开热点、USB共享⽹络均可),查询当前电脑的ip,我这⾥是 192.168.244.218:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWIPiclLiae0Tc924dcWq3UAI1EOmSfWeQILlTTP6WxhnQMQ605acj6paQ/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
在当前路径⽤python开启⼀个web服务(记得关闭防⽕墙):
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWD82LOdb1sWEWLfKia19W8ick1Ukpd8fsMpmn6WLialfD9Up1wX4dKfEGA/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
使⽤VMOS Pro中的虚拟机浏览器访问http://192.168.244.218:8082/10fb1fcc.0即可下载证书⽂件到 download⽬录:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWmzpJCAic4QC7AevVbwLcIedicfGXSU90JXwTicA6fT7TMDRANz9EBIUgg/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
下载后顺便记⼀下请求来源ip(也就是我们实体⼿机的ip),后⾯adb会⽤到,我这⾥是 192.168.244.144:5677
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWflNNUdChT49KG0g5nGibbaEhjRbXvnE5EM8Zfrzg7nasQKDjDOyQ3Ow/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
使⽤MT管理器将下载的证书复制到/system/etc/security/cacerts/ 中:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWAs9lIEQg9qwUxLnYZbTs2ZP0JLqNZ3Ab8ZfbEcVDCoHiampUwwiaxlZw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
修 改 权 限 为644:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWlpLtykRlgticUDKFV6v2oKOOWVOccfUcuGmylicNl4RkUdSnGDicQubng/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
导⼊证书的⼯作到这⾥就完成了,下⾯配置代理。不同于实体安卓测试机和模拟器,VMOS Pro虚拟机在 wifi处设置代理是没有效果的,因此我们这⾥通过adb来开启全局代理。⾸先打开yakit,开启监听,ip为电脑ip:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWwO4TTTtRbPaAWpltGrvq1akP88NIGNR8W01hibQzNIUO6bLSMfcWrsA/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWrMwPaywFPcf8cfE4G5knvLusr91hoUeibhlX1N0JBWxx7cv9r8VnAjw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
前往VMOS Pro,找到我们添加的虚拟机,打开设置,往下翻找到⾼玩设置:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWEo3a8jYsEVTf0pticH7VLqyPIYwupU80xd4Xpd4gCwWAwVibodpUEEdQ/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
打开⽹络ADB,记住这个端⼝,我这⾥是5671:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUW2QjxZ3d8KFNtcYb7E0pMnzp5T0MhjZJy3lMMmkTKDWMX5SsViaNIgFQ/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
使⽤adb连接⼿机ip和端⼝,我这⾥是192.168.244.144:5671 如果连不上,就开关⽹络ADB多连⼏次,我这⾥也试了好⼏次:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWGPib9gY1OTHIJo8B64GgkVeiahzcbFC08x1Ih2yBYt0BMELOia5jgMXOQ/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
连上之后开启代理,代理到电脑上yakit的监听,命令如下:
设置全局代理:adb shell settings put global http_proxy 192.168.244.218:8080查看你上边设置代理是否成功,使⽤如下命令:adb shell settings get global http_proxy取消代理设置,使⽤如下命令:adb shell settings put global http_proxy :0
这⾥会有些adb的报错,可以⽆视:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWfACGwukOavGdkU1pmPqpea7ickdhDiaJRGG0oluz6b4HqWyezdjT1OQw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
这时我们打开vmos虚拟机中的浏览器,随意访问,发现百度没有提示证书错误:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWf45DsSL6uqGCx3w3rI2GbJ7gVpBCMiacXFVZXkQ3GaskibfYdzRfkMqw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
查看yakit,发现成功抓包:
![图片](https://mmbiz.qpic.cn/mmbiz_png/XoIcX2HtlUDTlLpyWJKKBQtRiaRYCzKUWWDQWqcDDnwuCNicI5icgQxdvDicGqITSfbRXvwjcnfic4InjEOWlpWy8Nw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1)
使⽤完成后记得使⽤adb关闭代理。⾄此,VMOS Pro虚拟机可当作app测试机来使⽤,⼗分⽅便好⽤!
VMOS Pro需要购买vip才可以root
https://developer.android.com/studio/releases/platform-tools?hl=zh-cn adb下载
https://dl.google.com/android/repository/platform-tools_r34.0.4-windows.zip?hl=zh-cn
转载之 李白你好 公众号
|